# -*- coding: utf-8 -*-
#Importamos funciones standars
import datetime
from django.shortcuts import render_to_response
#modulos propios
from models import Clientes, Slim
from formularios import Fcliente, Fslim

# Create your views here.
def Vmenu(request):
	return render_to_response('clientes/menu.html', {},)

def Vclientes(request):
	if request.method == 'POST': pass #Se esta realizando una busqueda de clientes (Filtrar, clientes)
	else: C = Clientes.objects.all()
	return render_to_response('listado.html',{'subject':"Clientes",'elementos':C,},)

def Vnuevo(request):
	if request.method == 'POST':
		if Fcliente(request.POST).is_valid():
			Fcliente(request.POST).save()
			return render_to_response('save.html', {'accion': 'Creacion de cliente'})
		else: return render_to_response('form.html',{'form':Fcliente(request.POST),'title':"Crear Cliente"},)
	else: return render_to_response('form.html',{'form':Fcliente(),'title':"Crear Cliente"},)

def Vdetalle(request,id):
	if (Clientes.objects.filter(id=id).count()==1):
		return render_to_response('clientes/detalle.html',{'cliente':Clientes.objects.get(id=id), 'extras': Slim.objects.filter(cliente=id)})
	else: return render_to_response('error.html',{'motivo':'Cliente inexistente'})

def Vmodificar(request,id): #Ver a futuro la posibilidad de moodificar los datos extras...
	if (Clientes.objects.filter(id=id).count()==1):
		if request.method == 'POST':
			Clientes.objects.get(id=id).delete()
			if Fcliente(request.POST).is_valid():
				Fcliente(request.POST).save()
				return render_to_response('save.html', {'accion': 'Modificacion de cliente'})
			else: return render_to_response('form.html',{'form':Fcliente(request.POST),'title':"Modificar Cliente"},)
		else:	return render_to_response('form.html',{'form':Fcliente(instance=Clientes.objects.get(id=id)),'title':"Modificar Cliente"},)
	else: return render_to_response('error.html',{'motivo':'Cliente inexistente'})

def Vadd(request,id):
	if (Clientes.objects.filter(id=id).count()==1):
		if request.method == 'POST':
			if Fslim(request.POST).is_valid():
				Slim(cliente=Clientes.objects.get(id=id), nombre=request.POST["nombre"], valor=request.POST["valor"]).save()
				return render_to_response('save.html', {'accion': 'Dato agregado'})
			else: return render_to_response('form.html',{'form':Fslim(request.POST),'title':"Agregar dato"},)
		else: return render_to_response('form.html',{'form':Fslim(),'title':"Agregar dato"},)
	else: return render_to_response('error.html',{'motivo':'Cliente inexistente'})